package com.service.Impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.mapper.CSaveMapper;
import com.pojo.dto.Message;
import com.pojo.entity.CSave;
import com.pojo.entity.CUsed;
import com.pojo.vo.CSaveVo;
import com.service.CSaveService;
import com.service.SysDictionaryService;
import com.util.PojoUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;

import java.util.List;

@Service("CSaveService")
public class CSaveServiceImpl implements CSaveService {
    @Autowired
    CSaveMapper cSaveMapper;
    @Autowired
    SysDictionaryService sysDictionaryService;
    private List<CSaveVo> message;

    @Override
    public Message<List<CSaveVo>> list(CSaveVo csavevo) {
        QueryWrapper<CSave> wrapper = new QueryWrapper<>();
        if (csavevo != null) {
            if (csavevo.getUserNum() != null) wrapper.eq("user_num", csavevo.getUserNum());
            if (csavevo.getPublicId() != null) wrapper.eq("public_id", csavevo.getPublicId());
        }
        List<CSave> cSaves = cSaveMapper.selectList(wrapper);
        return Message.successMessage((long) cSaves.size(), message);
    }

    /**
     * 通过ID查询单条信息
     *
     * @param cSaveVo
     * @return
     */
    @Override
    public Message<CSaveVo> get(CSaveVo cSaveVo) {
        if (cSaveVo != null) {
            QueryWrapper<CSave> wrapper = new QueryWrapper<>();
            wrapper.eq("public_id", cSaveVo.getPublicId());
            CSave cSave = cSaveMapper.selectOne(wrapper);
            return Message.successMessage(1L, PojoUtil.copyObject(cSave, CSaveVo.class));
        }
        return Message.errorMessage("1001", "查询失败");
    }

    @Override
    public Message<CSaveVo> add(CSaveVo cSaveVo) {
        CSave cSave = PojoUtil.copyObject(cSaveVo, CSave.class);
        int i = cSaveMapper.insert(cSave);
        if (i == 0) return Message.errorMessage("1001", "添加失败");
        else return Message.successMessage(1L, cSaveVo);
    }

    @Override
    public Message<CSaveVo> delete(CSaveVo cSaveVo) {
        int i = cSaveMapper.deleteById(cSaveVo.getUserNum());
        if (i == 0) return Message.errorMessage("1001", "删除失败");
        else return Message.successMessage(1L, null);
    }
}
